package cn.touna.jss.common.validator;

import java.lang.annotation.*;

/**
 * @Documented 在默认的情况下javadoc命令不会将我们的annotation生成再doc中去的
 * @Retention 用于描述注解的生命周期
 * @Target 用于描述注解的使用范围
 * Created by wuwc on 2018/1/5.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface ValidateField {

    /**
     * 参数索引位置
     */
    public int index() default -1;

    /**
     * 如果参数是基本数据类型或String ，就不用指定该参数，如果参数是对象，要验证对象里面某个属性，就用该参数指定属性名
     */
    public String filedName() default "";

    /**
     * 正则验证
     */
    public String regStr() default "";

    /**
     * 是否能为空,为true表示不能为空 ， false表示能够为空
     */
    public boolean notNull() default false;

    /**
     * 是否能为空,为true表示不能为空 ， false表示能够为空
     */
    public int maxLen() default -1;

    /**
     * 最小长度,用户验证字符串
     */
    public int minLen() default -1;

    /**
     * 最大值,用于验证数字类型数据
     */
    public int maxVal() default -1;

    /**
     * 最小值,用于验证数值类型数据
     */
    public int minVal() default -1;
}
